package com.example.administrator.android2019.music;

import android.content.Intent;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.example.administrator.android2019.R;

import java.io.File;
import java.util.ArrayList;

public class MusicListActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

      ListView listView;
        String sdPath;
        ArrayList<Music> arrayList=new ArrayList<Music>();
        String mp3Nmae;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_music_list);
        listView=findViewById(R.id.music_listView_mp3list);
        listView.setOnItemClickListener(this);


        sdPath=Environment.getExternalStorageDirectory().getPath();
        Log.v("music",sdPath);

        /***
         * 3、读取sd路径下的所有，MP3结尾的文件名，保存在集合
         *    1、已sd路径为参数，构造File对象
         *    2、列出该File对象的所有文件和文件名
         *    3、过滤以MP3结尾的文件
         *    4、把MP3文件加到集合
         */
        File f=new File(sdPath);
        File[] files=f.listFiles();
        for (int i =0;i<files.length;i++){
            if (files[i].getName().endsWith(".mp3")){
                Music music=new Music();
                mp3Nmae=files[i].getName();
                music.setMp3Name(mp3Nmae);
                arrayList.add(music);
            }
        }
        /*
        * 4、把集合 展示在listView：需要适配器ArrayAdapter：
        *   列表项中若只有一个Textview，可以使用ArrayAdapter
        *   若列表项比较复杂，还有按钮之类的，就要使用ArrayAdapter
        *   参数1：上下文对象，
        *   参数2：列表项的布局文件 id
        *   参数3：布局文件内的textview 的 id
        *   参数4：textview 要展示的内容数据List
        * */
        ArrayAdapter adapter=new ArrayAdapter(this,R.layout.activity_music_item,R.id.music_item_tv,arrayList);
        listView.setAdapter(adapter);
    }


    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
         /**/
       // Intent intent= new Intent(this,MUsicPlayActivity.)
    }
}
